#!/usr/bin/env node

/**
 * 图片压缩工具使用示例
 * 这个文件展示了如何在代码中使用 ImageCompressor 类
 */

const ImageCompressor = require('./scripts/index.js');
const path = require('path');

async function example() {
  console.log('🖼️  图片压缩工具使用示例\n');

  // 示例1: 基本压缩
  console.log('示例1: 基本压缩 (质量80%, 输出到new-img目录)');
  const compressor1 = new ImageCompressor({
    quality: 80,
    overwrite: false
  });
  
  try {
    await compressor1.compress('./test-img', './new-img');
  } catch (error) {
    console.error('压缩失败:', error.message);
  }

  console.log('\n' + '='.repeat(50) + '\n');

  // 示例2: 高质量压缩 + 尺寸调整
  console.log('示例2: 高质量压缩 + 宽度限制800px');
  const compressor2 = new ImageCompressor({
    quality: 90,
    width: 800,
    concurrent: 3,
    preserveExif: true
  });
  
  try {
    await compressor2.compress('./test-img', './new-img/high-quality');
  } catch (error) {
    console.error('压缩失败:', error.message);
  }

  console.log('\n' + '='.repeat(50) + '\n');

  // 示例3: 按比例缩放
  console.log('示例3: 缩放到50%');
  const compressor3 = new ImageCompressor({
    quality: 85,
    scale: 50,
    concurrent: 2
  });
  
  try {
    await compressor3.compress('./test-img', './new-img/scaled');
  } catch (error) {
    console.error('压缩失败:', error.message);
  }

  console.log('\n✅ 所有示例执行完成！');
  console.log('\n💡 提示:');
  console.log('- 查看 ./new-img 目录中的压缩结果');
  console.log('- 运行 "node scripts/index.js --help" 查看命令行参数');
  console.log('- 运行 "npm run test" 快速测试压缩功能');
}

// 运行示例
if (require.main === module) {
  example().catch(console.error);
}

module.exports = example;